追求自动化

自动化是程序员永远的追求。 本质是避免无意义的重复。

程序员老兵思维敏捷性,快速反应能力,可能不及刚入行的新人,体力也不如新人(加班, 熬夜, 通宵),但是老兵的生产力往往快过新人好几倍,除了经验之外,就是对自动化的工具的使用。

我们在编译,部署,测试,打包的时候都要用到自动化.

编译的自动化

C语言开发,使用make

Java开发,使用Ant, Maven, Ivy

Android开发,使用 gradle

上面的这些工具,一定是程序员在职业生涯的前半年,必须掌握的.

部署的自动化

这样的脚本有很多。

java世界中的 Ant, Maven 可以用来打包

Python中的Fabric Ruby中的Capistrano ,都部署自动化的好手。

Capistrano是我最推崇的。可以为几乎所有需要在服务器端运行的语言做部署。 他可以做的是:

  1. 更新远程源代码
  2. 重启数据库
  3. 保留历史的部署版本,可以做回滚

感兴趣的同学可以来这里学习,大约2小时的课程: http://edu.51cto.com/course/11237.html

这里需要提及的是,运维同学一定要把自己的部署脚本,做成自动化,会让你的人生特别美好,绝对不要每次部署都手工部署。

另外要注意, 不要自己手写脚本,自己写的脚本其实质量很低,很容易出错,一定要使用Capistrano, Fabric这样的第三方提供的工具.

测试的自动化

对于程序员来说,单元测试,就是,自动化的一种实现,一行命令,就可以,运行上百个单元测试,让我们在第一时间,可以了解系统的,测试,通过百分比,

单元测试也是持续集成的基础,持续集成的本质就是,每隔几分钟就运行一遍所有的单元测试,

对于测试同学来说,不要用人肉做黑盒测试(功能性测试),要把"点按鼠标,敲击键盘",都做成脚本,不断的重复播放.

这样的工具,有很多,包括:

测试WEB 页面使用的: Selenium

测试App 使用的: Appium

results matching ""

    No results matching ""